1
ข้ามช่วงเวลาที่หยุดนิ่ง: ความจำเป็นในการประมวลผลแบบไม่ซิงโครนัส
AI020Lesson 9
00:00

จุดบกพร่องหลักในการพัฒนาแอปพลิเคชันเว็บคือ การประมวลผลแบบซิงโครนัส ของการดำเนินการอินพุต/เอาต์พุต เมื่อสคริปต์ทำการร้องขอแบบซิงโครนัส มันจะผูกไลน์หลักของเบราว์เซอร์ไว้กับความหน่วงที่เกิดจากเครือข่ายโดยธรรมชาติ ทำให้เกิดสถานการณ์ 'หยุดโลกทั้งหมด'

1. ปัญหาการติดขัด

คำขอแบบซิงโครนัส (ใช้ false แฟล็กใน XMLHttpRequest.open) ครอบครองเส้นทางของเบราว์เซอร์ ทำให้การโต้ตอบของผู้ใช้ แอนิเมชัน และการเรนเดอร์ถูกรบกวนจนกว่าเซิร์ฟเวอร์จะตอบกลับ สำหรับผู้ใช้ แท็บจะดูเหมือนติดตาย

การโต้ตอบกับอินเตอร์เฟซการติดตายการตอบกลับ

2. การเปลี่ยนแปลงเชิงตรรกะ

การเปลี่ยนผ่านไปสู่ 'ข้ามช่วงเวลาที่หยุดนิ่ง' จำเป็นต้องเปลี่ยนจากการใช้โมเดลเชิงเส้น มาสู่รูปแบบ แบบไม่ซิงโครนัส ขณะที่การเขียนโปรแกรมแบบซิงโครนัสดำเนินตามลำดับจากบนลงล่างอย่างเคร่งครัด แต่ความไม่ซิงโครนัสอาศัย แฮนเดอร์เหตุการณ์ เพื่อตรวจจับเมื่อมีข้อมูลมาถึง ทำให้สคริปต์สามารถดำเนินการต่อได้ทันที

3. ข้อกำหนดด้านความรวดเร็วของอินเตอร์เฟซ

ข้อกำหนดโครงการสมัยใหม่ต้องการจัดการการอ่านไฟล์หรือการดึงข้อมูลโดยไม่ทำให้อินเตอร์เฟซเอกสารติดตาย ซึ่งช่วยให้มั่นใจว่าแม้ระหว่างการดำเนินงานระยะไกลที่ซับซ้อน ก็ยังคงมีการเคลื่อนไหวของเคอร์เซอร์และปุ่มใช้งานได้

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>